exports.removeRole = function (req, res) {

    //获取参数信息
    var bodyParams = req.routeInfo.bodyParams;

    //任务流创建
    async.waterfall([

        //判断角色是否被分配给了用户
        (cb) => {

            R.SEND_HTTP(
                req,
                res,
                {
                    url: CORE_APIConfig.coreAPI.userRoleMiddleSearch.Request_Api_Url + "/urm_orid/" + bodyParams.orid,
                    method : 'GET'
                },
                function (data) {

                    if(data.result.data.length > 0){
                        return RES.errorResponse(res,"抱歉，该角色在某用户下，请先从使用的用户下移除，在删除该角色");
                    }

                    cb()
                
                }
            )
        },

        //判断该角色是否分配给了节点
        (cb) => {

            R.SEND_HTTP(
                req,
                res,
                {
                    url: CORE_APIConfig.coreAPI.organizationalRoleMiddleSearch.Request_Api_Url + "/orm_orid/" + bodyParams.orid,
                    method : 'GET'
                },
                function (data) {

                    if(data.result.data.length > 0){
                        return RES.errorResponse(res,"抱歉，该角色在某节点下，请先从使用的节点下移除，在删除该角色");
                    }

                    cb()
                
                }
            )
        },

        //判断该角色是否关联了菜单
        (cb) => {

            R.SEND_HTTP(
                req,
                res,
                {
                    url: CORE_APIConfig.coreAPI.roleMenuMiddleSearch.Request_Api_Url + "/rmm_orid/" + bodyParams.orid,
                    method : 'GET'
                },
                function (data) {

                    if(data.result.data.length > 0){
                        return RES.errorResponse(res,"抱歉，该角色下有分配相关菜单，请先删除相应菜单，在删除该角色");
                    }

                    cb()
                
                }
            )

        },

        //删除该角色
        (cb) => {

            R.SEND_HTTP(
                req,
                res,
                {
                    url: CORE_APIConfig.coreAPI.organizationalRoleDelete.Request_Api_Url,
                    method : 'POST',
                    data : {
                        delete_where : "or_id",
                        or_id        : bodyParams.orid,
                        isPhysicallyDelete : "1"
                    }
                },
                function (data) {

                    cb()
                
                }
            )
        }

    ],()=>{

        //返回最终拼接结果
        RES.successResponse(res);

    });

}